package com.mskj.zxmy.entity;

import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.v3.oas.annotations.media.Schema;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDate;
import java.util.Date;

@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@Schema(description = "ck02CheckoutFormCheckout")
public class CKDan {
    @JsonIgnore
    @Schema(description = "主键ID")
    private int id;

    @Schema(description = "产品信息")
    private String productInformation;
    @Schema(description = "流水号、出库单单号")
    private String cashiersNumber;

    @Schema(description = "出库类型")
    private String poolType;

    @JsonIgnore
    @Schema(description = "出库日期")
    private LocalDate collectionDate;

    @Schema(description = "操作人")
    private String operator;

    @JsonIgnore
    @Schema(description = "图片（字段类型为图片，这里用 String 存路径等信息，实际可根据需求调整）")
    private String f60;

    @Schema(description = "备注")
    private String remarks;

    @Schema(description = "出库数量，总")
    private int totalNumber;

    @Schema(description = "出库明细（子表，这里用 Object 简化，实际应定义对应子表实体类）")
    private XssalesDispatchDetails showMeTheDetails;

    @JsonIgnore
    @Schema(description = "审批状态")
    private String approvalStatus;


    @JsonIgnore
    @Schema(description = "关联生产订单")
    private String associatedOrders;

    @Schema(description = "客户信息")
    private String clientInformation;

    @Schema(description = "关联发货单")
    private String associatedConsignmentOrder;

    @Schema(description = "创建人")
    private String creator;
    @Schema(description = "创建时间")
    private LocalDate created;
    @JsonIgnore
    @Schema(description = "修改人")
    private String modifier;
    @JsonIgnore
    @Schema(description = "修改时间")
    private LocalDate modified;

    @Schema(description = "对账数量")
    private int numberOfReconciliations;

    @Schema(description = "对账状态")
    private String reconciliationStatus;
    @JsonIgnore
    @Schema(description = "创建人")
    private String synchronisingFolderFailedSS;
    @JsonIgnore
    @Schema(description = "总金额")
    private Double totalAmount;
    @JsonIgnore
    @Schema(description = "对账单号")
    private String billNumber;
    @JsonIgnore
    @Schema(description = "对账日期")
    private String reconciliationDate;
    @JsonIgnore
    @Schema(description = "账期")
    private String period;
    @JsonIgnore
    @Schema(description = "税额")
    private Double taxes;
    @JsonIgnore
    @Schema(description = "折扣金额")
    private Double amountOfDiscount;
    @JsonIgnore
    @Schema(description = "付款金额")
    private Double amountOfPayment;
    @JsonIgnore
    @Schema(description = "付款状态")
    private String paymentStatus;
}
